package com.example.javaow.domain.vo;

import lombok.Data;
import java.time.LocalDateTime;

/**
 * 设备消息视图对象
 * 用于向前端展示设备消息数据
 */
@Data
public class DeviceMessageVO {
    /** 消息主键ID */
    private Long id;
    
    /** 消息ID（可选，用于去重） */
    private String messageId;
    
    /** 消息类型: telemetry, command, response, alert, heartbeat */
    private String messageType;
    
    /** 设备地址码，关联 device.device_address */
    private String deviceAddress;
    
    /** 设备名称（冗余，便于查询） */
    private String deviceName;
    
    /** 下发指令，如：open, close, reboot */
    private String command;
    
    /** 指令下发时间 */
    private LocalDateTime commandTime;
    
    /** 操作人（后台用户或系统） */
    private String commandBy;
    
    /** 设备返回的响应内容，如：已开启、失败：电机故障 */
    private String response;
    
    /** 设备响应时间 */
    private LocalDateTime responseTime;
    
    /** 上报的JSON数据，如：{"temperature": 45.2, "voltage": 12.4, "angle": 90} */
    private String dataJson;
    
    /** 通信状态，默认值为 success */
    private String status;
    
    /** 消息创建时间 */
    private LocalDateTime createtime;
    
    /** 更新时间 */
    private LocalDateTime updatetime;
}
